//
// Created by antler on 2019/1/3.
//

#ifndef LUA_USERINFO_H
#define LUA_USERINFO_H

#include <string>

#define CLASSNAME_USERINFO "UserInfo"
#define USERTYPE_USERINFO "UserInfo"

// 用户信息
class UserInfo {
public:
    enum {
        MEMBERSHIP_UNKOWN = 0,
        MEMBERSHIP_PAY = 1,
        MEMBERSHIP_TRIAL = 2,
        MEMBERSHIP_FREE = 3,
    };

public:
    UserInfo();

    ~UserInfo();

    std::string getId() const;

    void setId(const std::string &id);

    int getMembership() const;

    void setMembership(int membership);

    int getExpiredTime() const;

    void setExpiredTime(int expiredTime);

protected:
    // 唯一标识
    // 当前脚本用户的唯一标识，开发助手下获取返回'null'
    std::string mId;

    // 会员标识
    // 0: 未购买，非试用
    // 1: 付费用户
    // 2: 试用用户
    // 3: 免费用户
    // 注意通过激活码激活的用户（包括日卡），也会被认定为付费用户。
    // 当前脚本用户的会员标识，开发助手下获取返回3
    int mMembership;

    // 剩余时间
    // 当前脚本用户的套餐剩余时间（单位秒），开发助手下获取返回-1
    int mExpiredTime;
};


#endif //LUA_USERINFO_H
